<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>

    // 服务器返回的数据  res = [ {xxx}, {xxx}, {xxx} ]
    // 我们需要的数据 head = []  data = [[], [], []]
    // 思考如何将list中的数据转化为最终输出的结果？？？
    const list = [
    {
        correctionTime: "2018-11-30",
        departmentName: "总裁办",
        formOfEmployment: 1,
        id: "604f764971f93f3ac8f365c2",
        mobile: "13800000002",
        password: "e10adc3949ba59abbe56e057f20f883e",
        staffPhoto: "http://q6cu3t6jv.bkt.clouddn.com/1063705989926227968?t=1616204161907",
        timeOfEntry: "2018-11-02",
        username: "管理员",
        workNumber: "9002",
    },
    {
        correctionTime: "2018-11-20",
        departmentName: "市场部",
        formOfEmployment: 1,
        id: "604f764971f93f3ac8f365c3",
        mobile: "13800000003",
        password: "e10adc3949ba59abbe56e057f20f883e",
        staffPhoto: "http://q6cu3t6jv.bkt.clouddn.com/1063705989926227968?t=1616204161907",
        timeOfEntry: "2018-11-04",
        username: "孙财",
        workNumber: "111",
    }
    ]

    // 将英文转为中文
    const transformEnToZhCN = params => {
      // 准备一个 英文 - 中文 映射表
      const map = {
        'id': '编号',
        'password': '密码',
        'mobile': '手机号',
        'username': '姓名',
        'timeOfEntry': '入职日期',
        'formOfEmployment': '聘用形式',
        'correctionTime': '转正日期',
        'workNumber': '工号',
        'departmentName': '部门',
        'staffPhoto': '头像地址',
        'enableState': '账号状态'
      }
        // header 就是后的表头
      let header = []
      // data 就是 excel 的数据
      let data = []
      // 获取我们数组里面的第一个元素
      const one = params[0]
      // 判断: 如果第一项没有值, 直接返回
      if (!one) return { header, data }

      // 准备头部 header 的数据
      // one 这里是数组对象 list 的第一项, 是一个对象
      header = Object.keys(one).map(item => map[item])
      console.log(header)

      // Object.value(item) -- 所有值的集合
      data = params.map(item => {
        const key = item['formOfEmployment'] // key = 1 或者 2 数字
        const findItem = constantData.hireType.find(item => item.id === key)
        if (findItem) {
          item['formOfEmployment'] = findItem.value
        } else {
          item['formOfEmployment'] = '临时工'
        }
        return Object.values(item)
      })
      return { header, data }
    }
    transformEnToZhCN(list)

  </script>
</body>
</html>